﻿/*
	Copyright (C) 2019 Zongming Liu <1849059316@qq.com>

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.
	
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License along
	with this program; if not, write to the Free Software Foundation, Inc.,
	51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/


#include "Color.h"
#include <DirectXColors.h>

namespace SkyEngine2d
{
	
	bool Color::operator==(const Color& color) const
	{
		return color.x == x &&
			color.y == y &&
			color.z == z &&
			color.w == w;
	}
	
	Color Color::AliceBlue = { 0.941176534f, 0.972549081f, 1.000000000f, 1.000000000f };
	
	Color Color::AntiqueWhite = { 0.980392218f, 0.921568692f, 0.843137324f, 1.000000000f };
	Color Color::Aqua = { 0.000000000f, 1.000000000f, 1.000000000f, 1.000000000f };
	Color Color::Aquamarine = { 0.498039246f, 1.000000000f, 0.831372619f, 1.000000000f };
	Color Color::Azure = { 0.941176534f, 1.000000000f, 1.000000000f, 1.000000000f };
	Color Color::Beige = { 0.960784376f, 0.960784376f, 0.862745166f, 1.000000000f };
	Color Color::Bisque = { 1.000000000f, 0.894117713f, 0.768627524f, 1.000000000f };
	Color Color::Black = { 0.000000000f, 0.000000000f, 0.000000000f, 1.000000000f };
	Color Color::BlanchedAlmond = { 1.000000000f, 0.921568692f, 0.803921640f, 1.000000000f };
	Color Color::Blue = { 0.000000000f, 0.000000000f, 1.000000000f, 1.000000000f };
	Color Color::BlueViolet = { 0.541176498f, 0.168627456f, 0.886274576f, 1.000000000f };
	Color Color::Brown = { 0.647058845f, 0.164705887f, 0.164705887f, 1.000000000f };
	Color Color::BurlyWood = { 0.870588303f, 0.721568644f, 0.529411793f, 1.000000000f };
	Color Color::CadetBlue = { 0.372549027f, 0.619607866f, 0.627451003f, 1.000000000f };
	Color Color::Chartreuse = { 0.498039246f, 1.000000000f, 0.000000000f, 1.000000000f };
	Color Color::Chocolate = { 0.823529482f, 0.411764741f, 0.117647067f, 1.000000000f };
	Color Color::Coral = { 1.000000000f, 0.498039246f, 0.313725501f, 1.000000000f };
	Color Color::CornflowerBlue = { 0.392156899f, 0.584313750f, 0.929411829f, 1.000000000f };
	Color Color::Cornsilk = { 1.000000000f, 0.972549081f, 0.862745166f, 1.000000000f };
	Color Color::Crimson = { 0.862745166f, 0.078431375f, 0.235294133f, 1.000000000f };
	Color Color::Cyan = { 0.000000000f, 1.000000000f, 1.000000000f, 1.000000000f };
	Color Color::DarkBlue = { 0.000000000f, 0.000000000f, 0.545098066f, 1.000000000f };
	Color Color::DarkCyan = { 0.000000000f, 0.545098066f, 0.545098066f, 1.000000000f };
	Color Color::DarkGoldenrod = { 0.721568644f, 0.525490224f, 0.043137256f, 1.000000000f };
	Color Color::DarkGray = { 0.662745118f, 0.662745118f, 0.662745118f, 1.000000000f };
	Color Color::DarkGreen = { 0.000000000f, 0.392156899f, 0.000000000f, 1.000000000f };
	Color Color::DarkKhaki = { 0.741176486f, 0.717647076f, 0.419607878f, 1.000000000f };
	Color Color::DarkMagenta = { 0.545098066f, 0.000000000f, 0.545098066f, 1.000000000f };
	Color Color::DarkOliveGreen = { 0.333333343f, 0.419607878f, 0.184313729f, 1.000000000f };
	Color Color::DarkOrange = { 1.000000000f, 0.549019635f, 0.000000000f, 1.000000000f };
	Color Color::DarkOrchid = { 0.600000024f, 0.196078449f, 0.800000072f, 1.000000000f };
	Color Color::DarkRed = { 0.545098066f, 0.000000000f, 0.000000000f, 1.000000000f };
	Color Color::DarkSalmon = { 0.913725555f, 0.588235319f, 0.478431404f, 1.000000000f };
	Color Color::DarkSeaGreen = { 0.560784340f, 0.737254918f, 0.545098066f, 1.000000000f };
	Color Color::DarkSlateBlue = { 0.282352954f, 0.239215702f, 0.545098066f, 1.000000000f };
	Color Color::DarkSlateGray = { 0.184313729f, 0.309803933f, 0.309803933f, 1.000000000f };
	Color Color::DarkTurquoise = { 0.000000000f, 0.807843208f, 0.819607913f, 1.000000000f };
	Color Color::DarkViolet = { 0.580392182f, 0.000000000f, 0.827451050f, 1.000000000f };
	Color Color::DeepPink = { 1.000000000f, 0.078431375f, 0.576470613f, 1.000000000f };
	Color Color::DeepSkyBlue = { 0.000000000f, 0.749019623f, 1.000000000f, 1.000000000f };
	Color Color::DimGray = { 0.411764741f, 0.411764741f, 0.411764741f, 1.000000000f };
	Color Color::DodgerBlue = { 0.117647067f, 0.564705908f, 1.000000000f, 1.000000000f };
	Color Color::Firebrick = { 0.698039234f, 0.133333340f, 0.133333340f, 1.000000000f };
	Color Color::FloralWhite = { 1.000000000f, 0.980392218f, 0.941176534f, 1.000000000f };
	Color Color::ForestGreen = { 0.133333340f, 0.545098066f, 0.133333340f, 1.000000000f };
	Color Color::Fuchsia = { 1.000000000f, 0.000000000f, 1.000000000f, 1.000000000f };
	Color Color::Gainsboro = { 0.862745166f, 0.862745166f, 0.862745166f, 1.000000000f };
	Color Color::GhostWhite = { 0.972549081f, 0.972549081f, 1.000000000f, 1.000000000f };
	Color Color::Gold = { 1.000000000f, 0.843137324f, 0.000000000f, 1.000000000f };
	Color Color::Goldenrod = { 0.854902029f, 0.647058845f, 0.125490203f, 1.000000000f };
	Color Color::Gray = { 0.501960814f, 0.501960814f, 0.501960814f, 1.000000000f };
	Color Color::Green = { 0.000000000f, 0.501960814f, 0.000000000f, 1.000000000f };
	Color Color::GreenYellow = { 0.678431392f, 1.000000000f, 0.184313729f, 1.000000000f };
	Color Color::Honeydew = { 0.941176534f, 1.000000000f, 0.941176534f, 1.000000000f };
	Color Color::HotPink = { 1.000000000f, 0.411764741f, 0.705882370f, 1.000000000f };
	Color Color::IndianRed = { 0.803921640f, 0.360784322f, 0.360784322f, 1.000000000f };
	Color Color::Indigo = { 0.294117659f, 0.000000000f, 0.509803951f, 1.000000000f };
	Color Color::Ivory = { 1.000000000f, 1.000000000f, 0.941176534f, 1.000000000f };
	Color Color::Khaki = { 0.941176534f, 0.901960850f, 0.549019635f, 1.000000000f };
	Color Color::Lavender = { 0.901960850f, 0.901960850f, 0.980392218f, 1.000000000f };
	Color Color::LavenderBlush = { 1.000000000f, 0.941176534f, 0.960784376f, 1.000000000f };
	Color Color::LawnGreen = { 0.486274540f, 0.988235354f, 0.000000000f, 1.000000000f };
	Color Color::LemonChiffon = { 1.000000000f, 0.980392218f, 0.803921640f, 1.000000000f };
	Color Color::LightBlue = { 0.678431392f, 0.847058892f, 0.901960850f, 1.000000000f };
	Color Color::LightCoral = { 0.941176534f, 0.501960814f, 0.501960814f, 1.000000000f };
	Color Color::LightCyan = { 0.878431439f, 1.000000000f, 1.000000000f, 1.000000000f };
	Color Color::LightGoldenrodYellow = { 0.980392218f, 0.980392218f, 0.823529482f, 1.000000000f };
	Color Color::LightGreen = { 0.564705908f, 0.933333397f, 0.564705908f, 1.000000000f };
	Color Color::LightGray = { 0.827451050f, 0.827451050f, 0.827451050f, 1.000000000f };
	Color Color::LightPink = { 1.000000000f, 0.713725507f, 0.756862819f, 1.000000000f };
	Color Color::LightSalmon = { 1.000000000f, 0.627451003f, 0.478431404f, 1.000000000f };
	Color Color::LightSeaGreen = { 0.125490203f, 0.698039234f, 0.666666687f, 1.000000000f };
	Color Color::LightSkyBlue = { 0.529411793f, 0.807843208f, 0.980392218f, 1.000000000f };
	Color Color::LightSlateGray = { 0.466666698f, 0.533333361f, 0.600000024f, 1.000000000f };
	Color Color::LightSteelBlue = { 0.690196097f, 0.768627524f, 0.870588303f, 1.000000000f };
	Color Color::LightYellow = { 1.000000000f, 1.000000000f, 0.878431439f, 1.000000000f };
	Color Color::Lime = { 0.000000000f, 1.000000000f, 0.000000000f, 1.000000000f };
	Color Color::LimeGreen = { 0.196078449f, 0.803921640f, 0.196078449f, 1.000000000f };
	Color Color::Linen = { 0.980392218f, 0.941176534f, 0.901960850f, 1.000000000f };
	Color Color::Magenta = { 1.000000000f, 0.000000000f, 1.000000000f, 1.000000000f };
	Color Color::Maroon = { 0.501960814f, 0.000000000f, 0.000000000f, 1.000000000f };
	Color Color::MediumAquamarine = { 0.400000036f, 0.803921640f, 0.666666687f, 1.000000000f };
	Color Color::MediumBlue = { 0.000000000f, 0.000000000f, 0.803921640f, 1.000000000f };
	Color Color::MediumOrchid = { 0.729411781f, 0.333333343f, 0.827451050f, 1.000000000f };
	Color Color::MediumPurple = { 0.576470613f, 0.439215720f, 0.858823597f, 1.000000000f };
	Color Color::MediumSeaGreen = { 0.235294133f, 0.701960802f, 0.443137288f, 1.000000000f };
	Color Color::MediumSlateBlue = { 0.482352972f, 0.407843173f, 0.933333397f, 1.000000000f };
	Color Color::MediumSpringGreen = { 0.000000000f, 0.980392218f, 0.603921592f, 1.000000000f };
	Color Color::MediumTurquoise = { 0.282352954f, 0.819607913f, 0.800000072f, 1.000000000f };
	Color Color::MediumVioletRed = { 0.780392230f, 0.082352944f, 0.521568656f, 1.000000000f };
	Color Color::MidnightBlue = { 0.098039225f, 0.098039225f, 0.439215720f, 1.000000000f };
	Color Color::MintCream = { 0.960784376f, 1.000000000f, 0.980392218f, 1.000000000f };
	Color Color::MistyRose = { 1.000000000f, 0.894117713f, 0.882353008f, 1.000000000f };
	Color Color::Moccasin = { 1.000000000f, 0.894117713f, 0.709803939f, 1.000000000f };
	Color Color::NavajoWhite = { 1.000000000f, 0.870588303f, 0.678431392f, 1.000000000f };
	Color Color::Navy = { 0.000000000f, 0.000000000f, 0.501960814f, 1.000000000f };
	Color Color::OldLace = { 0.992156923f, 0.960784376f, 0.901960850f, 1.000000000f };
	Color Color::Olive = { 0.501960814f, 0.501960814f, 0.000000000f, 1.000000000f };
	Color Color::OliveDrab = { 0.419607878f, 0.556862772f, 0.137254909f, 1.000000000f };
	Color Color::Orange = { 1.000000000f, 0.647058845f, 0.000000000f, 1.000000000f };
	Color Color::OrangeRed = { 1.000000000f, 0.270588249f, 0.000000000f, 1.000000000f };
	Color Color::Orchid = { 0.854902029f, 0.439215720f, 0.839215755f, 1.000000000f };
	Color Color::PaleGoldenrod = { 0.933333397f, 0.909803987f, 0.666666687f, 1.000000000f };
	Color Color::PaleGreen = { 0.596078455f, 0.984313786f, 0.596078455f, 1.000000000f };
	Color Color::PaleTurquoise = { 0.686274529f, 0.933333397f, 0.933333397f, 1.000000000f };
	Color Color::PaleVioletRed = { 0.858823597f, 0.439215720f, 0.576470613f, 1.000000000f };
	Color Color::PapayaWhip = { 1.000000000f, 0.937254965f, 0.835294187f, 1.000000000f };
	Color Color::PeachPuff = { 1.000000000f, 0.854902029f, 0.725490212f, 1.000000000f };
	Color Color::Peru = { 0.803921640f, 0.521568656f, 0.247058839f, 1.000000000f };
	Color Color::Pink = { 1.000000000f, 0.752941251f, 0.796078503f, 1.000000000f };
	Color Color::Plum = { 0.866666734f, 0.627451003f, 0.866666734f, 1.000000000f };
	Color Color::PowderBlue = { 0.690196097f, 0.878431439f, 0.901960850f, 1.000000000f };
	Color Color::Purple = { 0.501960814f, 0.000000000f, 0.501960814f, 1.000000000f };
	Color Color::Red = { 1.000000000f, 0.000000000f, 0.000000000f, 1.000000000f };
	Color Color::RosyBrown = { 0.737254918f, 0.560784340f, 0.560784340f, 1.000000000f };
	Color Color::RoyalBlue = { 0.254901975f, 0.411764741f, 0.882353008f, 1.000000000f };
	Color Color::SaddleBrown = { 0.545098066f, 0.270588249f, 0.074509807f, 1.000000000f };
	Color Color::Salmon = { 0.980392218f, 0.501960814f, 0.447058856f, 1.000000000f };
	Color Color::SandyBrown = { 0.956862807f, 0.643137276f, 0.376470625f, 1.000000000f };
	Color Color::SeaGreen = { 0.180392161f, 0.545098066f, 0.341176480f, 1.000000000f };
	Color Color::SeaShell = { 1.000000000f, 0.960784376f, 0.933333397f, 1.000000000f };
	Color Color::Sienna = { 0.627451003f, 0.321568638f, 0.176470593f, 1.000000000f };
	Color Color::Silver = { 0.752941251f, 0.752941251f, 0.752941251f, 1.000000000f };
	Color Color::SkyBlue = { 0.529411793f, 0.807843208f, 0.921568692f, 1.000000000f };
	Color Color::SlateBlue = { 0.415686309f, 0.352941185f, 0.803921640f, 1.000000000f };
	Color Color::SlateGray = { 0.439215720f, 0.501960814f, 0.564705908f, 1.000000000f };
	Color Color::Snow = { 1.000000000f, 0.980392218f, 0.980392218f, 1.000000000f };
	Color Color::SpringGreen = { 0.000000000f, 1.000000000f, 0.498039246f, 1.000000000f };
	Color Color::SteelBlue = { 0.274509817f, 0.509803951f, 0.705882370f, 1.000000000f };
	Color Color::Tan = { 0.823529482f, 0.705882370f, 0.549019635f, 1.000000000f };
	Color Color::Teal = { 0.000000000f, 0.501960814f, 0.501960814f, 1.000000000f };
	Color Color::Thistle = { 0.847058892f, 0.749019623f, 0.847058892f, 1.000000000f };
	Color Color::Tomato = { 1.000000000f, 0.388235331f, 0.278431386f, 1.000000000f };
	Color Color::Transparent = { 0.000000000f, 0.000000000f, 0.000000000f, 0.000000000f };
	Color Color::Turquoise = { 0.250980407f, 0.878431439f, 0.815686345f, 1.000000000f };
	Color Color::Violet = { 0.933333397f, 0.509803951f, 0.933333397f, 1.000000000f };
	Color Color::Wheat = { 0.960784376f, 0.870588303f, 0.701960802f, 1.000000000f };
	Color Color::White = { 1.000000000f, 1.000000000f, 1.000000000f, 1.000000000f };
	Color Color::WhiteSmoke = { 0.960784376f, 0.960784376f, 0.960784376f, 1.000000000f };
	Color Color::Yellow = { 1.000000000f, 1.000000000f, 0.000000000f, 1.000000000f };
	Color Color::YellowGreen = { 0.603921592f, 0.803921640f, 0.196078449f, 1.000000000f };
	
}
